package xin.marcher.wind.process.service;

import xin.marcher.wind.process.domain.dto.ProcessNodeDTO;
import xin.marcher.wind.process.domain.dto.ProcessNodeListDTO;
import xin.marcher.wind.process.domain.request.ProcessNodeQuery;
import xin.marcher.wind.process.domain.request.SaveProcessNodeRequest;

import java.util.List;

/**
 * 流程节点service
 * 
 * @version 1.0
 */
public interface ProcessNodeService {

    /**
     * 保存流程节点
     * @param request 请求
     */
    void save(SaveProcessNodeRequest request);

    /**
     * 删除流程节点
     * @param name 流程节点名称
     */
    void delete(String name);

    /**
     * 查询流程节点详情
     * @param name 流程节点名称
     * @return 响应
     */
    ProcessNodeDTO detail(String name);

    /**
     * 流程节点列表查询
     * @return 响应
     */
    List<ProcessNodeListDTO> list(ProcessNodeQuery query);
}
